package young.zhang.api;

import young.zhang.domain.AssHole;
import young.zhang.domain.GameInfo;
import young.zhang.domain.Shit;
import young.zhang.domain.enums.AssHoleMovementEnum;
import young.zhang.util.IEatableComparator;

import java.util.List;

public interface IAssHoleBeing {

    /// myAssHole: 自己的菊花
    /// inVisionShitList：视野内的💩
    /// otherAssHoleList：别人的菊花
    /// gameInfo: 当前游戏信息，包括地图大小，剩余游戏回合，当前总菊花数，当前总💩数
    /// iEatableComparator: 工具对象，可以调用 iEatableComparator.canIHaveShit(myAssHole, otherAssHole) 进行快速判断，是否可以吃💩或者菊花
    AssHoleMovementEnum onNextMove(AssHole myAssHole, List<Shit> inVisionShitList, List<AssHole> otherAssHoleList, GameInfo gameInfo, IEatableComparator iEatableComparator);
}
